This invention relates to a computer windowing control and more particularly to a control for multiple, independently scrolling and panning windows.
Windowing provides the appearance of several displays in a single video display monitor. In some applications, it is desirable to independently scroll and/or pan alphanumerics and graphics independently in computer monitor displays. For example, in cardiac monitoring and diagnosis, it is desirable to display multiple ECG signals and other physiological data in multiple windows and to pan or scroll this data to provide medical personnel information on a real time or delayed basis, as required.
At the present, windowing at typical work stations or personal computers is often accomplished by having the processor write data for different windows to different locations in a video random access memory (VRAM). When the VRAM data is displayed sequentially, that is, line after line on the raster display, the windows appear on a video monitor exactly as they were written into the VRAM.
Current methods and apparatus for scrolling and panning in video display windows have several limitations. For example, to obtain the effect of panning or scrolling data on the screen, it is necessary for the processor to either rewrite all of the VRAM memory or sequence through the VRAM memory start addresses for each raster line. If the processor rewrites all of the VRAM data, a substantial burden is imposed on the processor. If the VRAM start addresses for each raster line are sequenced, then panning or scrolling is limited to a single speed for the entire display and individual window panning or scrolling cannot normally be accomplished. Moreover, when a new window is drawn or windows are moved on the display, it is necessary for the processor to rewrite many or all of the locations in the VRAM for the new display format. This requires many processor machine states to execute and reduces the time remaining for other processor functions. In addition, the display update time may be so slow as to detract from the efficiency of the system, since the user may have to wait for the display to be updated. This would be especially evident if the processor is reopening a window that contains graphical information, since the new data must be read from the display random access memory (DRAM), processed and written to the VRAM for display.